iT邦幫忙

2023 iThome 鐵人賽

DAY 14
1
DevOps

在open source環境,建置container環境及k8s(Minikube)的API佈署環境系列 第 14

[Day14]Kubernetes 中的應用部署和服務配置:deploy.yaml 和 service.yaml

  • 分享至 

  • xImage
  •  

前言

Kubernetes(簡稱 K8s)是一個強大的容器編排平台,可以幫助我們管理和部署容器化的應用程式。在 K8s 中,我們使用 YAML 文件定義應用程式的部署和服務配置。本文將深入探討 deploy.yaml 和 service.yaml 檔案的重要性以及它們如何協助我們在 Kubernetes 環境中部署和運行應用程式。

deploy.yaml:應用程式部署配置

deploy.yaml 檔案用於定義應用程式的部署配置。以下是一個簡單的 deploy.yaml 範例,用於部署一個容器化的應用程式:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app-container
          image: my-app-image:latest
          ports:
            - containerPort: 80

在這個示例中,我們定義了一個名為 my-app-deployment 的 Deployment,它將運行 3 個 Pod 副本,每個 Pod 包含一個名為 my-app-container 的容器。我們指定了容器的映像以及它將監聽的端口。

service.yaml:服務配置

service.yaml 檔案用於定義服務的配置,使我們能夠在叢集內部和外部訪問我們的應用程式。以下是一個簡單的 service.yaml 範例,用於創建一個 LoadBalancer 服務:

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

在這個示例中,我們定義了一個名為 my-app-service 的 Service,它將流量導向標有 app: my-app 標籤的 Pod。我們指定了 Service 將使用的端口,並將其類型設置為 LoadBalancer,以便在外部創建一個負載均衡器。

部署和使用

將您的 deploy.yaml 和 service.yaml 檔案創建在一個目錄中。
使用以下命令在 Kubernetes 中部署您的應用程式:

kubectl apply -f deploy.yaml
kubectl apply -f service.yaml

使用以下命令查看您的 Deployment 和 Service 的狀態:

kubectl get deployments
kubectl get services

如果使用了 LoadBalancer 服務,使用以下命令查看外部 IP 地址:

kubectl get services my-app-service

上一篇
[Day13]使用 Minikube 在本地搭建 Kubernetes 開發環境
下一篇
[Day15]Kubernetes 持久化儲存:深入理解 PV 和 PVC
系列文
在open source環境,建置container環境及k8s(Minikube)的API佈署環境30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言